import 'package:framelib/config/route_config.dart';
import 'package:get/get.dart';
import 'package:module_business/module_index/view/index_page.dart';
import 'package:module_business/module_index/view/my_room_page.dart';
import 'package:module_business/module_index/view/report_page.dart';
import 'package:module_business/module_index/view/room_admins_page.dart';
import 'package:module_business/module_index/view/room_block_list_page.dart';
import 'package:module_business/module_index/view/room_forbidden_list_page.dart';
import 'package:module_business/module_index/view/room_release_notification_page.dart';
import 'package:module_business/module_index/view/room_set_page.dart';
import 'package:module_business/module_index/view/room_upmic_person_list_page.dart';
import 'package:module_business/module_index/viewmodel/index_view_model.dart';
import 'package:module_business/module_index/viewmodel/my_room_view_model.dart';
import 'package:module_business/module_index/viewmodel/room_admins_view_model.dart';
import 'package:module_business/module_index/viewmodel/room_block_list_view_model.dart';
import 'package:module_business/module_index/viewmodel/room_forbidden_list_view_model.dart';
import 'package:module_business/module_index/viewmodel/room_release_notification_view_model.dart';
import 'package:module_business/module_index/viewmodel/room_set_view_model.dart';
import 'package:module_business/module_index/viewmodel/room_upmic_person_list_view_model.dart';
import 'package:module_business/module_index/viewmodel/report_view_model.dart';

class ModuleIndexRoute {
  static final List<GetPage> getPages = [
    GetPage(
        name: RouteConfig.myRoomPage,
        page: () => MyRoomPage(),
        binding:
        BindingsBuilder(() => [Get.lazyPut(() => MyRoomViewModel())])
    ),
    GetPage(
        name: RouteConfig.roomSetPage,
        page: () => RoomSetPage(),
        binding:
        BindingsBuilder(() => [Get.lazyPut(() => RoomSetViewModel())])
    ),
    GetPage(
        name: RouteConfig.roomReleaseNotificationPage,
        page: () => RoomReleaseNotificationPage(),
        binding:
        BindingsBuilder(() => [Get.lazyPut(() => RoomReleaseNotificationViewModel())])
    ),
    GetPage(
        name: RouteConfig.roomAdminsPage,
        page: () => RoomAdminsPage(),
        binding:
        BindingsBuilder(() => [Get.lazyPut(() => RoomAdminsViewModel())])
    ),
    GetPage(
        name: RouteConfig.roomBlocklistPage,
        page: () => RoomBlocklistPage(),
        binding:
        BindingsBuilder(() => [Get.lazyPut(() => RoomBlocklistViewModel())])
    ),
    GetPage(
        name: RouteConfig.roomForbiddenListPage,
        page: () => RoomForbiddenListPage(),
        binding:
        BindingsBuilder(() => [Get.lazyPut(() => RoomForbiddenListViewModel())])
    ),
    GetPage(
        name: RouteConfig.roomUpmicPersonlistPage,
        page: () => RoomUpmicPersonlistPage(),
        binding:
        BindingsBuilder(() => [Get.lazyPut(() => RoomUpmicPersonViewModel())])
    ),
    GetPage(
        name: RouteConfig.reportPage,
        page: () => ReportPage(),
        binding:
        BindingsBuilder(() => [Get.lazyPut(() => ReportViewModel())])
    ),
    // GetPage(
    //     name: '/TestTwoPage',
    //     page: () => TestTwoPage(),
    //     binding: BindingsBuilder(() => Get.create(
    //           () {
    //             var testTwoViewModel = TestTwoViewModel();
    //             print(
    //                 'testTwoViewModel-->create,hash=${testTwoViewModel.hashCode}');
    //             viewModelHashCodes[
    //                     'TestTwoViewModel_${testTwoViewModel.hashCode}'] =
    //                 testTwoViewModel;
    //             return testTwoViewModel;
    //           },
    //           permanent: false,
    //         ))
    //     // binding: BindingsBuilder(() => [Get.lazyPut(() => TestTwoViewModel(),)])
    //     ),
  ];
}
